Spread and rest properties support in acorn 5
This is plugin for Acorn - a tiny, fast JavaScript parser, written completely in JavaScript.
It implements support for spread and rest properties as defined in the stage 3 proposal Object Rest/Spread Properties for ECMAScript.
Usage
You can use this module directly in order to get an Acorn instance with the plugin installed:
var acorn = require('acorn5-object-spread');
Or you can use inject.js
for injecting the plugin into your own version of Acorn like this:
var acorn = require('acorn5-object-spread/inject')(require('./custom-acorn'));
Then, use the plugins
option whenever you need to support object spread or rest while parsing:
var ast = acorn.parse(code, {
plugins: { objectSpread: true }
});
Differences to acorn-object-rest-spread
acorn-object-rest-spread
is another acorn plugin implementing the same spec. There are some differences, though:
- acorn-object-rest-spread overwrites acorn
s
parseObjwith a modified copy from acorn 4, so that an acorn instance with that plugin cannot for example parse
({async, foo})` - acorn-object-rest-spread emits
SpreadElement
s with a
non-standard
value
property - acorn-object-rest-spread emits
SpreadElement
s in arrow function argument patterns
and nested object patterns were it should emit RestElement
s - acorn-object-rest-spread doesn't check for invalid trailing commas in rest properties
License
This plugin is issued under the MIT license.
With <3 by UXtemple.